Skip to content

test(s3): cover select not-implemented fallbacks#154

Merged
overtrue merged 1 commit intomainfrom
codex/test-s3-select-not-implemented
Apr 28, 2026
Merged

test(s3): cover select not-implemented fallbacks#154
overtrue merged 1 commit intomainfrom
codex/test-s3-select-not-implemented

Conversation

@overtrue
Copy link
Copy Markdown
Contributor

Summary

This PR closes a remaining regression gap around the recent S3 Select error-classification work.

When an S3-compatible backend does not return stable error metadata, the client falls back to matching error text. The current code already treats NotImplemented as UnsupportedFeature, but the recent tests only covered the direct code-path and a few metadata-missing cases. Two fallback branches were still untested: one where AWS returns an unrelated service code but the response text still includes NotImplemented, and one where metadata is missing entirely and only the text can be inspected.

This patch adds focused unit coverage for those two fallback paths in crates/s3/src/select.rs. It does not change runtime behavior.

Root Cause

The earlier S3 Select test additions covered the new AccessDenied fallback and the serialization helpers, but they did not exercise the NotImplemented substring fallbacks that protect compatibility with backends that surface incomplete or inconsistent error metadata.

Validation

  • cargo test -p rc-s3 select::tests --lib
  • cargo fmt --all --check
  • make pre-commit

@overtrue overtrue marked this pull request as ready for review April 25, 2026 05:11
@overtrue overtrue merged commit ff4cc60 into main Apr 28, 2026
15 checks passed
@overtrue overtrue deleted the codex/test-s3-select-not-implemented branch April 28, 2026 14:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant